The data transmission is now evolving with a specific focus on applications by integrating a fundamental shift in the customer traffic profile. Driven by the growth of workstations, the local area networks interconnection, the distributed processing between workstations and super computers, the new applications and the integration of various and often conflicting structures--hierarchical versus peer to peer, wide versus local area networks, voice versus data--the data profile has become more bandwidth consuming, bursting, non deterministic and requires more connectivity. Based on the above, there is strong requirement for supporting distributed computing applications across high speed networks that can carry local area network communications, voice, video, and traffic among channel attached hosts, business, engineering workstations, terminals, and small to intermediate file servers. This vision of a high speed multiprotocol network is the driver for the emergence of fast packet switching networks architectures in which data, voice, and video information is digitally encoded, chopped into small packets and transmitted through a common set of nodes and links.
The key requirement of these new architectures is to reduce the end-to-end delay in order to satisfy real time delivery constraints and to achieve the necessary high nodal throughput for the transport of voice and video. Increases in link speeds have not been matched by proportionate increases in the processing speeds of communication nodes and the fundamental challenge for high speed networks is to minimize the packet processing time within each node. In order to minimize the processing time and to take full advantage of the high speed/low error rate technologies, most of the transport and control functions provided by the new high bandwidth network architectures are performed on an end-to-end basis. The flow control and particularly the path selection are managed by the access points of the network which reduces both the awareness and the function of the intermediate nodes. However, each network node stores an image of the network in a so-called topology database enabling any intermediate network node to perform a number of network control functions.
But, inevitably, for cost reasons, communication networks have at their disposal limited resources to ensure efficient packet transmission. These limitations are principally located at the level of links bandwidth, nodes processing capacity and buffer sizes at the emission and reception of data packets. When traffic demand increases, the network undergoes congestion phenomena which take the form of a collapse of the network performances expressed in terms of actual throughput, average transfer delay of packets through the network, number of packets lost or in error, etc.
An ideal network should be able to transmit useful traffic directly proportional to the traffic offered to the network, up to maximum capacity. Beyond this limit, the network should operate at its maximum capacity whatever the demand is. In reality, the operations diverge from the ideal for reasons related to the inefficient allocation of resources in overloaded environment. In particular, the size of the queues on the links increases rapidly in function of the traffic and exceeds the capacity of the buffers in the nodes. Packets which cannot be stored anymore are thrown away, requiring retransmission and propagating congestion towards links located upstream generating an additional internal traffic. There is an avalanche phenomenon due to the fact that beyond a certain limit, the useful transport capacity of the network decreases when the demand for traffic increases.
For the operation to be satisfactory, the network must be implemented so as to avoid congestion. The simplest solution obviously consists in oversizing the equipments so as to be positioned in a operating zone which is distant from the congestion. This solution is generally not adopted for evident reasons of cost and it is necessary to apply a certain number of preventive measures of which the main ones are:
flow control for regulating the emitting data rate of the calling subscriber at a rate compatible with what the receiver can absorb. PA1 load regulation for globally limiting the number of packets present in the network to avoid overloading the resources, and, PA1 load balancing for fairly distributing the traffic over all the links of the network to avoid local congestion in particular resources.
All this requires some discipline in communication bandwidth management. Bandwidth management in most high speed packet communications networks utilizes connection level controls applied at the time the connection is set up based on the load characteristics of the transmission links in the connection route at the time that the connection is set up. Such connection level controls include bandwidth allocation, path selection, admission control and call set up. Bandwidth allocation is accomplished by noting, at the connection set up time, the "equivalent capacity" loading that the new connection will generate, based on the traffic characteristics of the source signal and the desired quality of service. Using this equivalent capacity, Ceq ,as the bandwidth that must be available to carry the new connection, the originating node port of the network computes a path to the destination node that is capable of carrying the new connection and providing the level of service required by the new connection. This path selection process utilizes data describing the current state of the traffic in the entire network. Such data are stored in a topology database located at each node of the network. If no suitable path can be found to meet these requirements, the connection is rejected. Once a suitable path has been selected at the entry node, a set up message is generated which traverses the selected route, updating the resource allocations for each link visited by the set up message.
More particularly, each node topology data base includes a table of the network nodes and a table of the network links, the latter including one table per link which includes information relative to the current link properties, current link state and reserved bandwidth. This information is, during operation of the network, regularly updated from network management services.
In order to successfully manage the traffic and to efficiently accommodate connections for data streams with widely different characteristics (voice, video or pure data including batch processable data), it is important at call set-up to reserve a bandwidth for each connection, based on the knowledge of the source characteristics and the network status (i.e current available bandwidths over the network links and nodes). So-called relative connection priorities (e.g. preemption priorities) have been defined to that end.
Modern network architectures have introduced a large range of connection priorities to cope with the various properties of the source: quality of service, maximum error or loss probability, . . . Connection priorities specify the relative importance of connections in the network, that means the order in which connections can be eventually released or submitted to a degradation of their quality of service for so-called preemptive purposes. More particularly, connection priorities are used by the path selection process to determine the feasibility of a potential route for a new connection. Some existing connections have been made "breakable" to allow the new connection to be established on the link if this one has a higher priority. This solution has also been used for assigning additional bandwidth, on a dynamic basis, in order to "ease" traffic of higher priority order of already established connections requiring more bandwidth, possibly in a burst mode, than already assigned.
In operation, the preempted connections are rerouted throughout the network, whenever possible. But in situations of high traffic, the preempted connection might simply be dropped.
One may easily imagine the drawbacks of both these solutions. The first one, by increasing the required network control traffic with all correlative incidences on required computing power, buffering capacity and bandwidth required for control traffic. The second one by lacking fairness in that it requires breaking already established connections.
It should be noted that the connection priority is not related to the order in which the data packets are transmitted in the network. The problem of the transmission of urgent packets, is handled by a specific packet scheduling process. The delay priority determines for each type of traffic (for example, real time versus non-real time traffic), what service a packet will receive at each intermediate hop of its path from the origin to the destination node. The same delay priority is assigned to every packet that flows in the same network connection.
The individual connection priorities are preassigned to a user on a predefined contractual basis and at different prices.